package uy.com.csi.gestpro.model.ejbbean;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import uy.com.csi.gestpro.model.ejbremote.EquipamientoEjbRemote;
import uy.com.csi.gestpro.model.mantenimiento.GpEqpmnto;
import uy.com.csi.gestpro.model.view.GpVwEqpmto;

@Stateless
public class EquipamientoEjb implements EquipamientoEjbRemote {
	@PersistenceContext(name = "pu_gestpro")
	EntityManager em;

	public EquipamientoEjb() {
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<GpVwEqpmto> getVwEquipamientoLst(Integer idInforme) {
		List<GpVwEqpmto> equipmntoLst = null;
		try {
			String consulta = "select ve from GpVwEqpmto ve where ve.idInfrmeDrio=:id";
			Query q = em.createQuery(consulta);
			q.setParameter("id", idInforme);
			equipmntoLst = (List<GpVwEqpmto>) q.getResultList();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return equipmntoLst;
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<GpVwEqpmto> getEquipamientoNew(Integer idProyecto) {
		List<GpVwEqpmto> eqLst = null;
		try {
			String sql = "select e from GpEqpmnto e where e.gpGrpoEqpmnto.idPrycto=:idProyecto";
			Query q = em.createQuery(sql);
			q.setParameter("idProyecto", idProyecto);
			List<GpEqpmnto> eLst = (List<GpEqpmnto>) q.getResultList();
			if (eLst != null && !eLst.isEmpty()) {
				eqLst = new ArrayList<GpVwEqpmto>();
				for (GpEqpmnto eq : eLst) {
					GpVwEqpmto geq = new GpVwEqpmto();
					geq.setEqpmnto(eq.getDscrpcion());
					geq.setGpoEqpmnto(eq.getGpGrpoEqpmnto().getNmbre());
					geq.setVlor("0");
					geq.setIdEqpmnto(eq.getId());
					geq.setIdentificador((eqLst.size() + 1) * -1);
					eqLst.add(geq);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return eqLst;
	}
}
